package com.kehao.newcoder;

import java.util.HashMap;
import java.util.Map;
import java.util.stream.Collectors;

public class NCSolution97 {
    public String[][] topKstrings (String[] strings, int k) {
        Map<String,Integer> map = new HashMap<>();
        for (String string : strings) {
            Integer count = map.computeIfAbsent(string, key -> 0);
            map.put(string,count+1);
        }
        return map.entrySet().stream().sorted((e1,e2)->{
            int v = e2.getValue()-e1.getValue();
            if(v == 0){
                v= e1.getKey().compareTo(e2.getKey());
            }
            return v;
        }).limit(k).map(en->new String[]{en.getKey(),en.getValue().toString()}).collect(Collectors.toList()).toArray(new String[0][]);
    }
}
